#pragma once

#include <OgreSceneManager.h>
#include <OgreSingleton.h>
#include "TerrainManager.h"


namespace GameGraphics
{

class EnvironmentManager : public Ogre::Singleton<EnvironmentManager>
{
public:
	EnvironmentManager(Ogre::SceneManager* iSceneManager);
	~EnvironmentManager(void);

	void Update(const Ogre::FrameEvent& iEvent);

	//static EnvironmentManager& getSingleton(void);
	//static EnvironmentManager* getSingletonPtr(void);

private:

	QuadTree<QTreeNodeData>* mQuadtree;
	Ogre::SceneManager* mSceneManager;		// No ownership
	TerrainManager* mTerrainManager;		// Ownership
};
}